<?php

class RecadastroController extends BaseController
{
   
    public function indexAction(){
        $this->view->index;
    }
    
   
    
    public function atualizacaoAction(){
        
    	$this->view->formservidor = new Form_Recadastro_recadastro();
    	$modelservidor = new Application_Model_Servidor();
    	$id = $this->getLoggedUser()->id;
    	$servidor = $modelservidor->fetchRow("servidor_id = $id");
       
        $modelcartorios = new Application_Model_cartorios();
        $cartorios = $modelcartorios->fetchRow("cartorio_id = $id"); 
        
        
        
        
    	$modelestadocivil = new Application_Model_estadocivil();
    	$nacionalidades = new Application_Model_nacionalidades();
        $escolaridades = new Application_Model_escolaridades();
        $sexo = new Application_Model_sexo();
        $necessidadesespeciais = new Application_Model_necessidadesespeciais();
        $tiporepre = new Application_Model_tiporepresentatividades();
        $racacor = new Application_Model_racacor();
        $empregoanterior = new Application_Model_empregoanterior();
        $tipodoato = new Application_Model_tipodoato();
        $servidorescartorios = new Application_Model_servidorescartorios();
        $municipios = new Application_Model_municipios();
        $tipologradouro = new Application_Model_tipologradouro();
        
        
        // Tratamento dos Campos Date
        $data = $servidor['datanascimento'];
        $dia = substr($data, 8, 10); 
        $mes = substr($data, 5, -3);
        $ano = substr($data, 0, -6);
       $databr = $dia . "-" .  $mes ."-". $ano ;
        
    	//echo  '<pre>'; var_dump($databr); echo  '</pre>'; die();
         $data_f = $servidor['datafalecimento'];
        $dia = substr($data_f, 8, 10); 
        $mes = substr($data_f, 5, -3);
        $ano = substr($data_f, 0, -6);
       $datafalec = $dia . "-" .  $mes ."-". $ano ;
       
        $data_i = $servidor['datadeingressoentefederativo'];
        $dia = substr($data_i, 8, 10); 
        $mes = substr($data_i, 5, -3);
        $ano = substr($data_i, 0, -6);
       $dataingre = $dia . "-" .  $mes ."-". $ano ;
  
       $data_s = $servidor['datadesaidaentefederativo'];
        $dia = substr($data_s, 8, 10); 
        $mes = substr($data_s, 5, -3);
        $ano = substr($data_s, 0, -6);
       $datasaida = $dia . "-" .  $mes ."-". $ano ;
       
        $data_emissao = $servidor['emissaocertidao'];
        $dia = substr($data_emissao, 8, 10); 
        $mes = substr($data_emissao, 5, -3);
        $ano = substr($data_emissao, 0, -6);
       $data_emi = $dia . "-" .  $mes ."-". $ano ;
       
        $dataterminoprevist = $servidor['dataterminoprevisto'];
        $dia = substr($dataterminoprevist, 8, 10); 
        $mes = substr($dataterminoprevist, 5, -3);
        $ano = substr($dataterminoprevist, 0, -6);
       $data_datate = $dia . "-" .  $mes ."-". $ano ;
       
    	$this->view->formservidor->nomeserv->setValue($servidor['nome']);
    	$this->view->formservidor->mae->setValue($servidor['mae']);
    	$this->view->formservidor->foto->setValue($servidor['foto']);
    	$this->view->formservidor->nomeserv->setValue($servidor['nome']);
    	$this->view->formservidor->estadocivil->addMultiOptions($modelestadocivil->getArrayestadocivil())->setValue($servidor['estadocivil']);
    	$this->view->formservidor->pai->setValue($servidor['pai']);
    	$this->view->formservidor->datanascimento->setValue($databr);
    	$this->view->formservidor->datafalecimento->setValue($datafalec);
        $this->view->formservidor->datadeingressoentefederativo->setValue($dataingre);
        $this->view->formservidor->datadesaidaentefederativo->setValue($datasaida);
        $this->view->formservidor->nacionalidade->addMultiOptions($nacionalidades->getArraynacionalidades())->setValue($servidor['nacionalidade']);
    	$this->view->formservidor->naturalidade->setValue($servidor['naturalidade']);
        $this->view->formservidor->escolaridade->addMultiOptions($escolaridades->getArrayescolariedades())->setValue($servidor['escolaridade']); 
        $this->view->formservidor->sexo->addMultiOptions($sexo->getArraysexo())->setValue($servidor['sexo']); 
        $this->view->formservidor->portadordenecessidades->addMultiOptions($necessidadesespeciais->getArraynecessidadesespeciais())->setValue($servidor['portadordenecessidades']); 
        $this->view->formservidor->termocertidao->setValue($servidor['termocertidao']);
        $this->view->formservidor->folhacertidao->setValue($servidor['folhacertidao']);
        $this->view->formservidor->livrocertidao->setValue($servidor['livrocertidao']);
        $this->view->formservidor->emissaocertidao->setValue($data_emi);
        $this->view->formservidor->tiporepresentatividade->addMultiOptions($tiporepre->getArraytiporepresentatividades())->setValue($servidor['tiporepresentatividade']);
        $this->view->formservidor->dataterminoprevisto->setValue($data_datate);
        $this->view->formservidor->nome_abreviado->setValue($servidor['nome_abreviado']);
        $this->view->formservidor->nome_usual->setValue($servidor['nome_usual']);
        $this->view->formservidor->cidade->setValue($servidor['cidade']);
        $this->view->formservidor->racacor->addMultiOptions($racacor->getArrayracacor())->setValue($servidor['racacor']);
        $this->view->formservidor->empregoanterior->addMultiOptions($empregoanterior->getArrayempregoanterior())->setValue($servidor['empregoanterior']);
        $this->view->formservidor->anoprimeiroemprego->setValue($servidor['anoprimeiroemprego']);
        $this->view->formservidor->tipodoato->addMultiOptions($tipodoato->getArraytipodoato())->setValue($servidor['tipodoato']);
        $this->view->formservidor->numerodoato->setValue($servidor['numerodoato']);
       
        $documentosDbTable = new Application_Model_Documentos();
        $documentos = $documentosDbTable->fetchRow(
            $documentosDbTable->select()->where('servidor_id = ?', $id)
        );

        $ufrgDbTable = new Application_Model_Ufrg();

        $this->view->formservidor->ufexpedicaorg->addMultiOptions($ufrgDbTable->getArrayUfrg());
        $this->view->formservidor->ufexpedicao->addMultiOptions($ufrgDbTable->getArrayUfrg());
        $this->view->formservidor->populate($documentos->toArray());
        
        $this->view->formservidor->populate($cartorios->toArray());
        $this->view->formservidor->logradouro->setValue($cartorios['logradouro']); 
        $this->view->formservidor->tipologradouro->addMultiOptions($servidorescartorios->getArrayservidorescartorios())->setValue($cartorios['tipologradouro']);
        $this->view->formservidor->municipio->addMultiOptions($municipios->getArraymunicipios())->setValue($cartorios['municipio']);
        $this->view->formservidor->bairro->setValue($cartorios['bairro']); 
        $this->view->formservidor->tipologradouro->addMultiOptions($tipologradouro->getArraytipologradouro())->setValue($cartorios['tipologradouro']);



         if ($this->getRequest()->isPost()){
    		$this->_salvar($this->getRequest()->getPost());
    	}
    	
       // $this->view->form = new Form_Recadastro_contatos();
    }
    
    public function _salvar($params) {
        $servidorDbTable = new Application_Model_Servidor();
        $servidor = $servidorDbTable->update(
            $this->_extraiParamsServidor($params),
            $servidorDbTable->getAdapter()->quoteInto('servidor_id = ?', $params['servidor_id'])
        );
        //TODO persistir documentos
        //TODO persistir cartórios
        $this->_helper->redirector('atualizacao', 'recadastro');
    }
    
    protected function _extraiParamsServidor($params)
    {
        $campos = array("mae", "foto", "estadocivil", "pai", "datanascimento", "datafalecimento", "datadeingressoentefederativo", "datadesaidaentefederativo", "nacionalidade", "naturalidade", "escolaridade", "sexo", "portadordenecessidades", "termocertidao", "folhacertidao", "livrocertidao", "emissaocertidao", "tiporepresentatividade", "dataterminoprevisto", "nome_abreviado", "nome_usual", "cidade", "racacor", "empregoanterior", "anoprimeiroemprego", "tipodoato", "numerodoato");

        $resultado = array();
        
        foreach ($campos as $campo) {
            $resultado[$campo] = $params[$campo];
        }
        
        $resultado['nome'] = $params['nomeserv'];
        
        return $resultado;
    }
    
    protected function _extraiParamsDocumentos($params)
    {
        return $params;
    }
    
    protected function _extraiParamsCartorios($params)
    {
        return $params;
    }
}
?>
